Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
QlikView documentation and resources.
Power Tools for QlikView
Version: 1.3.2
..again! A small update of one tool, and test of another.
https://www.dropbox.com/sh/8hac72aljgqlr7d/AAASkzbM2H1OoVcLE_wa0kWGa?dl=0
For the absolute latest version, please see Power Tools for QlikView - One-stop-shop
QlikView 12.X support matrix
12.0 | 12.1 | 12.2 | |
QlikView Server Agent | Yes | Yes | Yes |
QlikView Server Super Agent | Yes | Yes | Yes |
QMSClient | Yes | Yes | Yes |
Qv User Manager 10 | |||
Qv User Manager 11 | |||
QvsDetector | Yes | Yes | Yes |
QvServerObjectConnector | |||
ReloadScheduleMigration | No | No | No |
ServerObjectHandler | Yes | Yes | Yes |
ServerObjectHandlerBatch | Yes | Yes | Yes |
SharedFileRepair | |||
SharedFileViewer | |||
XMLDBViewer | Yes | Yes | Yes |
Reviewed/updated with support for QlikView 12
Release notes here: Power Tools 1.3.2 for QlikView - Release Notes
Readme here: Power Tools 1.3.2 for QlikView - Readme
Want to collaborate?
Do you have questions, thoughts, suggestions or bugs to report on Power Tools? Please post in the forums on QlikCommunity: https://community.qlik.com/community/qlikview/management
Also check out our (currently dead, soon to be revived) Twitter: @QvPowerTools
DISCLAIMER
Power Tools are a collection of software programs and tools used for troubleshooting purposes only. Power Tools are provided free of charge and are not supported. Power Tools are not official QlikView products and are provided without warranty. Use of Power Tools is entirely at the user's own risk.
Overview
For those of us that work with QlikView distribution service, either the standard version or Publisher then perhaps this model may be of some use in analysis of your tasks.
As a Qlik partner, I developed this to read in the various .xml files created by the distribution service and help look for some common problems such as:
There are lots of clever ways of analysing the QVPR data, including through the Governance dashboard, however I went with this approach as it gave me something tangible and reasonably simple to interpret and then present to a client.
Instructions
Considerations
I have used in a mix of QlikView 11 and 12 environments using both Publisher and the standard distribution service though I can't account for all environments so the model is provided as is where is, though please feel free to expand for your own use or provide some feedback that may benefit the community.
Thanks for taking the time to read this and I hope you find it useful.
This document is part of a series of documents that discuss how to use the QlikView Management API. You can find the index for these documents Here.
The Management API is a web service against which you can issue a range of commands to automate management activities on a QlikView environment. There are a couple of prerequisite set up items to do before you can use it and the web service has to be used in a particular way. This document describes how you can configure a Visual Studio project to work with the web service.
An example starter Visual Studio project pre-configured to use the API is attached to this document. The free versions of Visual Studio can be used although some of the screens described below may be slightly different.
To be able to make calls to the management service the request needs to come from a user context with membership of a specific group on the QlikView server. For most API calls the user needs to be a member of the “QlikView Management API” group, this groups is not created by the QlikView installer and so must be created and the relevant users added.
Depending on the type of application you are building you need to use an appropriate way of running the code as a particular user. For example:
Further discussion of this subject can be found HERE (TBC)
Step 2 – Create a project & Reference the QlikView Management Web Service
Open Visual Studio and start a new project for the type of solution you want to use. For the example and instructions provided it is a basic console application but the process works the same for asp.net, WinForms etc.
The first step is to connect the QMS API to visual studio by adding a Service Reference
Into the service reference dialogue enter the following URL adjusting for your particular QlikView server address - http://localhost:4799/QMS/Service - click the Go button and it will connect and validate that the service exists. Provide a meaningful name for this reference, for example QMSAPIService. It should look as below
Step 2 – Configure Visual Studio to use a Service Behaviour
The QMS web service requires the presence of a HTTP header containing a “service key” representing your user session with the server. This must be injected into every request and while this is a fairly complex thing to do, QlikView provides the code required to do this in .net projects.
Firstly in Visual Studio create a new folder called ServiceSupport in the root of the projects folder structure.
Download the attached "ServiceSupportFiles.zip" file and extract the 3 files starting with “ServiceKey…cs”. Now right click the folder the folder you created above and click “Add | Existing Item” browse to where you saved the files, select all 3 and click Add. The structure of your project should now look like the below.
Next each of these three files needs to have its namespace edited to match the namespace of your entire project. So open each file and locate the line that will look like this
namespace QMSAPIStarter.ServiceSupport
The namespace of your project will match the name of the project if you didn’t change it and in the above case the text you would change is QMSAPIStarter, leave the ServiceSupport part present
Next open web.config or app.config depending on the type of project you have. Locate the opening tag called <system.serviceModel> and immediately after this paste the below entry
<extensions>
<behaviorExtensions>
<add name="serviceKeyBehavior" type="QMSAPIStarter.ServiceSupport.ServiceKeyBehaviorExtensionElement, QMSAPIStarter, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
</behaviorExtensions>
</extensions>
<behaviors>
<endpointBehaviors>
<behavior name="ServiceKeyEndpointBehavior">
<serviceKeyBehavior/>
</behavior>
</endpointBehaviors>
</behaviors>
Notice in the code there are TWO references to the namespace for the code we added above, make sure BOTH of these match the namespace of your project.
Finally locate the following block in the config file
<endpoint address="http://localhost:4799/QMS/Service" binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IQMS" contract="QMSAPIService.IQMS"
name="BasicHttpBinding_IQMS" />
Before the closing tag add behaviorConfiguration="ServiceKeyEndpointBehavior"
Save and close the config file.
Step 3 – Create an object to communicate with the API and add the Service Key
The next step is to write the first piece of code to communicate with the web service, handle the service key and from then on the API functions can be used.
Create the item you want to work with, in this example I am creating a simple class and writing code into the Main method, if you are working with a web page you can locate the code, on load or on the click of a button.
At the top of your code page add the following statements to reference the support functions and the API itself (correct namespace accordingly):
using QMSAPIStarter.QMSAPIService;
using QMSAPIStarter.ServiceSupport;
Now into the function you are using paste the below code. This creates the “QMSClient” object from which all subsequent API calls will be made, and packages the service key required to use it. Here i have hard coded the URL to QMS Web Service if you leave it out it will pick up the URL from your config file.
QMSClient Client;
string QMS = "http://localhost:4799/QMS/Service";
Client = new QMSClient("BasicHttpBinding_IQMS", QMS);
string key = Client.GetTimeLimitedServiceKey();
ServiceKeyClientMessageInspector.ServiceKey = key;
The ServiceKey is the token that represents your session with the API. Once the token is obtained it is valid for 20 minutes however this period is extended after each call to the API so you should only need to request a key once.
Step 4 – Issue an API command
Now it is possible to issue commands against the API. Below is a simple function that will ask for the list of services on the QlikView server and print out their names.
ServiceInfo[] myServices = Client.GetServices(ServiceTypes.All);
foreach (ServiceInfo service in myServices)
{
Console.WriteLine(service.Name);
}
Build your project and execute it to see the results. You can now build and run your own applications using the API.
There are a number of objects, types and methods included in the API - Check out the list of examples to see how they can use - see Here
Hello Everyone,
I have attached the document for the important Qlikview functions used in script as well as in UI.
Please have a look and also feel free to update the document or comment in the session for the functions which is missed.
This document is part of a series of documents that discuss how to get started with using the QlikView Management API and provides a number of examples.
The QlikView Management API is a web service against which you can issue a range of commands to automate management activities on a QlikView environment. These activities can include the following:
To use the QMS API you need to be familiar with working with web services an writing code however the examples here cover many common tasks which avoid the need for detailed coding skills. All of the examples provided in these pages are written using Visual Studio with .net and C#. Other languages can be used and the free versions of Visual Studio can be used also.
Before you begin using the API or using the examples you need to be familiar with out to set up Visual Studio for using the APIs web service. You can find this information here:
QlikView Management API - #1 Setting up a Visual Studio project
In addition the official project documentation can be found here on the QlikView SDK pages here:
Below are links to a number of community documents with examples of using the API for particular tasks. All of the examples are built on top of the Getting Started project provided above but the code is easy to port to other applications.
Coming soon
Recently I have heard this question several times, therefore it might be worth of writting something about it.
Since version 17.2, NPrinting has empowered its features to external programs by its RESTful APIs. User may easily control and get data from the system with the APIs now. It is a very popular scenario that user wants to start the NPrinting Publish task right after the data reload is done in the QlikView application, so that the published report will have the latest data.
There are several possible ways to it. In this example you will find how to trigger and monitor the NPrinting task through QlikView load script, which requires nothing more than a QlikView Desktop and a Qlik REST connector, besides of the NPrinting environment. In the end of this article you will also see how to chain it with a QlikView document reload task in the QMC, so that the NPrinting task will automatically start right after the QlikView reload task is finished.
Some prerequisites for using this example:
And this article might be helpful with more information regarding to using NPrinting APIs.
The attached QlikView application in this example is quite self-explanatory. Here I will just list some key components for your attention.
The screenshots below show an example of creating a POST connection for authentication in Qlik REST connector.
Download the attached QlikView document and reload it from your QlikView server machine to test how it works.
At last, you may want to create a reload task in QlikView QMC and chain it to the reload task of your data application, so that the NPrinting publish task will be triggered automatically after the QlikView data reload task is completed successfully. You can find the settings from the screenshot below, or get help from this community article.
Thanks for your reading!
Power Tools for QlikView
Version: 1.3.0
Yes, it's actually true! Long story short; we'll be starting to release smaller releases, where we add support for QlikView 12.X continuously in the existing tools. Hence the 1.3.0 version. We'll continue with fixes and move on like 1.3.1, 1.3.2, and so on. Keep an eye out for the next release!
For the absolute latest version, please see Power Tools for QlikView - One-stop-shop
Updated with support for QlikView 12:
Legacy (not yet with QlikView 12 support):
Release notes here: Power Tools 1.3.0 for QlikView - Release Notes
Readme here: Power Tools 1.3.0 for QlikView - Readme
Want to collaborate?
Do you have questions, thoughts, suggestions or bugs to report on Power Tools? Please post in the forums on QlikCommunity: https://community.qlik.com/community/qlikview/management
Also check out our (currently dead, soon to be revived) Twitter: @QvPowerTools
DISCLAIMER
Power Tools are a collection of software programs and tools used for troubleshooting purposes only. Power Tools are provided free of charge and are not supported. Power Tools are not official QlikView products and are provided without warranty. Use of Power Tools is entirely at the user's own risk.
Power Tools for QlikView
Version: 1.3.1
Here we go again! We've tested some more tools, and updated some others with support for QlikView 12.X. Enjoy!
https://www.dropbox.com/sh/8hac72aljgqlr7d/AAASkzbM2H1OoVcLE_wa0kWGa?dl=0
For the absolute latest version, please see Power Tools for QlikView - One-stop-shop
QlikView 12.X support matrix
12.0 | 12.1 | 12.2 | |
QlikView Server Agent | |||
QlikView Server Super Agent | |||
QMSClient | Yes | Yes | Yes |
Qv User Manager 10 | |||
Qv User Manager 11 | |||
QvsDetector | Yes | Yes | Yes |
QvServerObjectConnector | |||
ReloadScheduleMigration | No | No | No |
ServerObjectHandler | Yes | Yes | Yes |
ServerObjectHandlerBatch | Yes | Yes | Yes |
SharedFileRepair | |||
SharedFileViewer | |||
XMLDBViewer | Yes | Yes | Yes |
Reviewed/updated with support for QlikView 12
Release notes here: Power Tools 1.3.1 for QlikView - Release Notes
Readme here: Power Tools 1.3.1 for QlikView - Readme
Want to collaborate?
Do you have questions, thoughts, suggestions or bugs to report on Power Tools? Please post in the forums on QlikCommunity: https://community.qlik.com/community/qlikview/management
Also check out our (currently dead, soon to be revived) Twitter: @QvPowerTools
DISCLAIMER
Power Tools are a collection of software programs and tools used for troubleshooting purposes only. Power Tools are provided free of charge and are not supported. Power Tools are not official QlikView products and are provided without warranty. Use of Power Tools is entirely at the user's own risk.
This VBS script shows how to combine report files in QV Server Audit.log with Tasklog.txt entries of Distribution Server
Example: Automatically restart qvw reports in QMC console (with edx-trigger) when no activity on file has been detected for 5 minutes
Regards - Marcel